Some types of storage, such as solid state storage (e.g., NAND Flash), occasionally require migration of data from one physical location to another (e.g., without changing the associated logical address). In the case of solid state storage, additional voltage may be unintentionally added to a given location in storage when adjacent locations are read too many times. This causes the stored voltage level to increase and in some cases it may be increased to a voltage level where an incorrect bit value is read back. This is referred to as read disturb noise. Conversely, charge may leak out of solid state storage under certain conditions. For example, as the program and erase (P/E) count of a given location in solid state storage increases, the electrical insulation breaks down, causing that location to become “leaky.” The stored voltage in a “leaky” location may drop to a level where an incorrect bit value is read back if the data is stored for too long of a time without being refreshed. For these reasons, data is periodically moved from one location to another in solid state storage in order to refresh the stored voltage to a proper level (e.g., neither too high nor too low).
Although techniques exist for migrating stored data from one physical location to another in an efficient manner (e.g., that reduces the amount of processing times and/or power consumed), such techniques are limited to storage systems that do not incorporate scrambling, or uses the same random bit sequence to scramble all of the data. It would be desirable if efficient techniques for migrating data could be developed for systems which include less restrictive scramblers (e.g., that scramble the data using different random bit sequences).